QuickImageCM 1.1
Copyright © 2003 Hide Itoh <hide@pixture.com> All rights reserved.
PIXTURE STUDIO <http://www.pixture.com>

What is QuickImageCM ?

QuickImageCM is a contextual menu plugin for Mac OS X. It let you view image files without launching any application. It also has some other feature like adding/removing thumbnail icons.

Features

• It can display graphic image easily without launchin applications.
• It can add/remove thumbnail icons to image files.
• View mode also has some additional feature like Copy image to Clipboard, Save image as, Move image to trash...
• You can see images in enlarged/reduced size with one touch keyboard operation.

Installation

For your convenicence, simple AppleScript to install the QuickImageCM is enclosed. Just run the 'InstallQuickImageCM' script to install and follow the direction on the screen. 

You can manually install the QuickImageCM by copying 'QuickImageCM.plugin' package to either '/Library/Contextual Menu Items' folder or '~/Library/Contextual Menu Items' folder.  If you don't have '~/Library/Contextual Menu Items' folder, simply create a new folder and copy it there. In this case, you need to either restart computer, or logout and login again, or restart the Finder to use the QuickImageCM.

How to use?

Choose graphic image file(s) at the Finder and Control+Click the mouse to bring up the contextual menu. You will see 'QuickImage' contextual menu item. When you move the mouse to this 'QuickImage' menu, it shows submenus as you can see the picture below. Then select the feature you want to use from the submenu.

¨

How to use (1)	Viewing images

When you select 'View...' submenu item, a window (see below) appears on the screen and display the first image.
The title bar of the window shows the image file name, original image pixel size, current number and total number of images.

Below the window title, there are four function buttons 'Info', 'Copy', 'Save As' and 'Trash'. By pressing the button you can invoke additional function. You can invoke these four function using keyboard too. Keyboard operation is explained in the next section.  

Right of these buttons are the basic information of the image, which are current view size (in pixel) and current display size ratio, and image data size (not file size, it's explained later). In addition, if the current drawing mode is QuickDraw, you will see '*' at the right of the size.

¨

Info			Open small sheet window and display more detail image info (see picture below)

Copy		Copy image data to Clipboard as picture data (it always uses original size image)

Save As		Save image data as a format you choose. When you click this button, file save dialog appears on the screen and let you select output file name, location, file format, and other options

Trash		Move this image data file to Trash. This would be handy when you are trying to pick up only good pictures from number of pictures.

¨

Basic Operation 

When you click the image data by mouse, it goes to the next image. If there's no next, then finish the viewing operation. It's so easy, isn't it ;-)

QuickImageCM supports keyboard operation which may be more convenient and easy than mouse operation.

Arrow keys (cursor keys)
	Left arrow		go to previous image
	Right arrow		go to next image
	Up arrow			go to previous image
	Down arrow		go to next image
	* If you press these keys while holding shift-key, then it move to first/last image.
	* You can not finish viewing image by arrow key. To finish viewing, press Esc key
	  (or click the last image by mouse)

Esc
	Cancel the operation and go back to Finder.

- (minus)
	Reduce the image (up to 12.5% of the original size)
	Key repeat works for this key
	Reduction goes 100% --> 87.5% --> 75% --> 50% --> 37.5% --> 25% --> 12.5% (min)

+ (plus)
	Enlarge the image (up to 500% of the original size)
	Key repeat works for this key
	Enlargement goes 100% --> 150% --> 200% --> 250%  .....  450% --> 500% (max)
	It can not be enlarged bigger than screen size. So once it reach the screen size limit, it stops.

I
	Invoke 'Info' function (same as clicking 'Info' button)
	Note: You have to click mouse to close the info window

C
	Invoke 'Copy to clipboard' function (same as clicking 'Copy' button)

S
	Invoke 'Save As' function (same as clicking 'Save As' button)

T
	Invoke 'Trash' function (same as clicking 'Trash' button)
	The file is not deleted but moved to Trash. 
Q
	Toggles image drawing method between Quartz2D (default) and QuickDraw.  
	Difference of these methods are explained later in this document. 

Notes, Remarks (Important)

Information displayed

As you can see the pictures below, main window's 'Size' is not a file size but a data size. If the file has resource fork, the size may differs like this example. When you use images for web site, usually, resource fork will be dropped or simple not used at all. Therefore, 'Size' in the main window omit the resource fork size and just show the data size only.  Use 'Info' function to see the actual image file size including resource fork.

¨

Unsupported file type error

To minimize the delay of displaying contextual menu, QuickImageCM does not check the file type in advance. It only check whether the selected item is a normal file or folder/alias.  QuickImageCM does not handle folder, alias (both alias to a folder and alias to a file). So if you select folder or alias, you will not see QuickImageCM's contextual menu. However, when multiple items are selected and if there's at least one graphic image among the selection, QuickImageCM shows the contextual menu and let you view the file. In this case, QuickImage does the following steps.

  1. If current item is folder or alias, then skip without showing any error (actually remove it from item list)

  2. If current item is regular file, then try to view as a graphic image (even for text files)

  3. If QuickTime Graphics Importer (core engine of displaying image) can not handle the file (i.e. text files), then it will display error message, and continue to the next item. The file is removed from the item list so that you won't see the same error message when you browsing items back and forth using arrow keys.

So, you would see an error message for a non-graphic file once, but not again for the same file.  

I was going to add file checking by QuickTime Graphic Importer before QuickImageCM displays contextual menu (it's very easy to do this), but I decided not to becuase I hate the delay before contextual menu coming up on screen. I would rather want to see an error message for non-graphic file. Maybe, I would make this customizable by adding preference settings option in the future version.

Enlarge/Reduce

Originally, I added buttons to enlarge/reduce image, but I decided to take them becuase they are not important feature (maybe people do not use it usually), and because using keyboard is better since window size changes as the image is enlarged/reduced.

QuickDraw vs Quartz2D with Interpolation
(version 1.1 or later)

MacOS X supports two 2D graphic engines, QuickDraw and Quartz2D. When image is displayed in enlarged/reduced sizes, these two engines shows noticable differences. As you see the picture below, Quartz2D (with interpolation enabled) use pixel-smoothing technology and this makes enlarged drawing more smooth and nice .  In addition, some image types (like transparent TIFF, which are used system wide for application's GUI parts) shows clear difference as you can see in the picture below. 
QuickImageCM 1.1 or later uses Quartz2D as the default image drawing (no special reason). However, you can switch to QuickDraw drawing method (and go back and forth) by pressing 'Q' key from keyboard. So if you want to see each pixel of enlarged image clearly, press 'Q' key and switch to QuickDraw drawing method. When QuickDraw is the current drawing mode, you will see '*' mark at the most right of the toolbar. 
This drawing method setting is stored into QuickImageCM's preference file so that the last setting will be used next time QuickImageCM contextual menu is invoked.

¨

How to use (2)	Adding/Removing Thumbnail icons

By selectings 'Add Thumbnail Icon' or 'Remove Thumbnail Icon' submenu item, you can easily add/remove thumbnail icon to/from selected image files. You do not have to be careful not to select non-graphic files. QuickImageCM check it and add/remove thumbnail only to/from graphic image files. All non-graphic files and aliases, folders are simply ignored and skipped.  
Also, when adding thumbnail, if a graphic file already has custom thumbnail icon, it will be replaced. When removing thumbnail icon, if a graphic file does not have thumbnail icon, it will be just skipped.

If you selected a lot of image files and invoke this 'Add/Remove Thumbnail Icon', it may take some time until it completes. You may see the spinning cursor for a while until it's done. 

Version history

1.2	(5/13/2003)
	Added quick and minimum file type/creator check before showing contextual menu. This excludes some obvious non-image file like text file, apple script file, etc..	
	When viewing image, if Finder is not the frontmost process, it switches Finder to the frontmost so that image window won't be hidden by other app's front window. When viewing is done, it switches back to the original frontmost pcoess.
	Thumbnail icon 'it32' now uses TIFF Packbit compression format to reduce the size of thumbnail icon. 

1.1	(4/30/2003)
	Added Japanese localization. French localization comes soon.... 
	Made more localization friendly using Nib file and resource file.
	Added Quartz2D drawing mode, can be switched back and forth by pressing 'Q' key.
	Now it shows original image size on the window's title bar, and current view size is shown inside of the window.
	Minor bug fixes

1.0	(4/22/2003)
	Original version

Copyright and info. about freeware distribution

QuickImageCM is copyright ©2003 by Hide Itoh <hide@pixture.com>.  Hide Itoh asserts the right to be identified as author and has provided this software as a freeware. QuickImageCM is developed using Abracode Inc's Contextual Menu Workshop code as a base framework.  You can distribute it free via electronic bulletin boards, user groups, and person to person. When distributed, all accompanying files (the ReadMe document, the program, etc.) are to distributed with the software without exception. The software is not to be included with any commercial software or any public domain/shareware package sold for profit without prior written consent from the author.

There's no technical support available for this software. However, your comments and bug reports are always welcome. Please send your e-mail to Hide Itoh <hide@pixture.com>.

Disclaimer

While the author of this software has made every effort to deliver a high quality product, The author does not guarantee that this product is free from defects.  The author is not responsible for any damage to the purchaser's computer system or data and in no event will I be responsible to the purchaser for any consequential, incidental, or indirect damages (including but not limited to damages for loss of business profits, business interruption, or loss of data) arising out of the use or inability to use this product, even if I have been advised of the possibility of such damages.  Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitations may not apply to you. The use of this software includes the complete agreement of this disclaimer.

Special Thanks To

Abracode Inc <www.abracode.com> and Contextual Menu Workshop 
	- nice framework for OS X cmm plugin development.